// page/personal/personal.js

import request from "../../utils/request.js";

//初始化 鼠标的位置
let startY = 0;
let moveY = 0
let distanceY = 0// 手指移动的距离
Page({

  /**
   * 页面的初始数据
   */
  data: {
    coverTransform: 'translateY(0)',
    coverTranstion: '',
    userInfo: {},//用户信息是一个对象
    recentPlayList: []//存播放记录的
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //读取本地用户的信息
    let userInfo = wx.getStorageSync('userInfo')
    //userInfo有可能为空 所以需要判断一下
    if (userInfo) {
      //用户存在
      // 更新userInfo状态
      this.setData({
        userInfo
      })
      this.getRecentPlayData(this.data.userInfo.userId)//播放记录函数调用
    }
   
  },


  //获取用户播放记录功能函数
  async getRecentPlayData(userId) {
    let result = await request('/user/record', { uid: userId, type: 0})
    let index=0;
    let recentPlayList = result.allData.slice(0, 10).map(item => {
      item.id = index++;//给每一项添加id为了遍历的需要

      return item
    })//播放记录太多 截取前10条
   // console.log(recentPlayList);
    //更新data中recentPlayList的数据
    this.setData({
      recentPlayList
    })
  },


  //绑定事件 手指点击事件
  handlerTouchStart(event) {
    //刚开始点击的时候 就清除之前的过渡效果
    this.setData({
      coverTranstion: ''
    })
    //console.log('start');
    //获取手指起始坐标
    startY = event.touches[0].clientY
  },
  //手指移动事件
  handlerTouchMove(event) {
    //console.log('move');
    //获取手指移动的坐标
    moveY = event.touches[0].clientY
    //手指移动的距离
    distanceY = moveY - startY
    //设置边界
    if (distanceY < 0) return
    if (distanceY >= 80) {
      distanceY = 80
    }
    //控制cover移动，更新coverTransform的状态数据
    this.setData({
      coverTransform: `translateY(${distanceY}rpx)`
    })
  },
  //手指离开事件
  handlerTouchEnd() {
    //console.log('end');
    //动态更新数据
    this.setData({
      coverTransform: 'translateY(0)',
      coverTranstion: 'transform 1s linear'
    })
  },
  //跳转到login页面
  toLogin() {
    //判断用户是否已经登录
    if (this.data.userInfo.nickname) return
    wx.navigateTo({
      url: "/pages/login/login"
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})